﻿using EnetaMvc.Infrastructure;
using System;
using System.ComponentModel.DataAnnotations;

namespace EnetaMvc.ApplicationServices.Dto
{
    public class EventDto : ContentItemDto
    {
        public string VenueName { get; set; }
        public string VenueMapUrl { get; set; }
        public int Seats { get; set; }
        public bool HasRealEvent { get; set; }
        public bool HasVirtualEvent { get; set; }
        public int PercentOfSlides { get; set; }
        public int PercentOfDemos { get; set; }

        [DateRange]
        [Required]
        public DateTime? RegistrationEndDate { get; set; }
        public string BannerImageUrl { get; set; }
        public string BannerTargetUrl { get; set; }

        [DateRange]
        [Required]
        public DateTime? StartDate { get; set; }

        [DateRange]
        [Required]
        public DateTime? EndDate { get; set; }
        public int? TechnicalLevel { get; set; }
        public MyRoleDto[] TargetAudiences { get; set; }
        public EventAttendeeDto[] AttendeesAtRealEvent { get; set; }
        public EventAttendeeDto[] AttendeesAtVirtualEvent { get; set; }
        public long[] SaveAudienceIds { get; set; }

        public EventDto()
        {
            TargetAudiences = new MyRoleDto[] { };
        }
    }
}
